package com.d3works.apps.account.service.payment.paymentvoucher;

import com.d3works.apps.account.db.InvoiceTerm;
import com.d3works.apps.account.db.PayVoucherDueElement;
import com.d3works.apps.account.db.PaymentVoucher;
import com.d3works.exception.D3worksException;

public interface PayVoucherDueElementService {

  PayVoucherDueElement updateDueElementWithFinancialDiscount(
      PayVoucherDueElement payVoucherDueElement, PaymentVoucher paymentVoucher)
      throws D3worksException;

  boolean applyFinancialDiscount(InvoiceTerm invoiceTerm, PaymentVoucher paymentVoucher);

  PayVoucherDueElement updateAmounts(PayVoucherDueElement payVoucherDueElement)
      throws D3worksException;
}
